Field of the Invention
The present invention relates to a data management system and a data management method for providing data management and operation functions in a computer.
Data to be handled in a computer are usually managed by using a file system or a database management system.
The file system manages very basic data called byte sequences by attaching names to them. The data of the byte sequences managed by the file systems are called files. The application program can carry out basic operations for writing new data into files or reading already written data from files.
Thus the file system provides a data model called byte sequences which are both basic and flexible. However, the byte sequences is a data model that is conceptually at very low level, so that it is necessary for the application program to define and use data management structure and operations unique to that application program on the byte sequences in order to use this data model for solving various problems actually encountered in the computer. For this reason, the data independency is low and it is difficult to share data among a plurality of application programs.
On the other hand, the database management system provides more sophisticated functions specific to a specific data model by presupposing the use of the specific data model. The most widely used database management system is the relational database management system based on the relational data model. The relational database management system manages all data by expressing them on tables, and provides functions for searching data stored in the table by specifying a key, or searching related data in a plurality of tables using an operation called JOIN. The application program can carry out the processing using various operation functions provided by the relational database management system if the necessary data can be defined in forms of tables. There are also database management systems using data models other than the relational data model such as the network data model and the object data model.
In the case of managing data by using the database management system, the data management and operation are separated from the application program and carried out at the database management system side. Namely, the independency of data can be realized so that it becomes easier to utilize one data by sharing it among a plurality of application programs. In addition, the database management system provides functions such as the management of consistency required for the transaction processing, the exclusive control in the case of processing by sharing data among a plurality of application programs, and the recovery processing at a time of a fault occurrence.
Thus the database management system provides various management and operation functions by specifying the specific data model which is conceptually at high level, so that the data independency is high and it is easy to share data among a plurality of application programs. However, although an application program that matches with the data model provided by the database management system can be designed easily and a high performance can be achieved easily, an application program that does not match the data model is difficult to design and it is hard to achieve a high performance. From a viewpoint of the flexibility of data, the available degrees of freedom are limited compared with the file system, and the expandability of the management and operation functions for new data or data model is also poor.
It is therefore an object of the present invention to provide a data management system and a data management method capable of realizing improved flexibility, independency and expandability together.
According to one aspect of the present invention there is provided a data management system for applying operations on data outputted from a data storage system and providing data to a processing of an application program, the data management system comprising: a memory unit configured to store a plurality of data operation modules for operating data which have different operation contents; and an operation unit configured to read out data requested by the application program from the data storage system, select those data operation modules that should carry out the operations with respect to the data such that the data will be in compliance with a data model suitable for the processing that the application program wishes to carry out, from the plurality of data operation modules, such that the data to which the operations are applied by selected data operation modules are given to the application program.
According to another aspect of the present invention there is provided a data management method in a data management system for applying operations on data outputted from a data storage system and providing data to a processing of an application program, the data management method comprising the steps of: reading out data requested by the application program from the data storage system upon receiving a request for processing with respect to a desired data stored in the data storage system from the application program; selecting those data operation modules that should carry out the operations with respect to the data such that the data will be in compliance with a data model suitable for the processing that the application program wishes to carry out, from a plurality of data operation modules for operating data which have different operation contents, that are provided in advance; applying the operations to the data by selected data operation modules and giving the data to which the operations are applied by the selected data operation modules to the application program.
According to another aspect of the present invention there is provided a computer usable medium having computer readable program codes embodied therein for causing a computer to function as a data management system for applying operations on data outputted from a data storage system and providing data to a processing of an application program, the computer readable program codes include: a first computer readable program code for causing said computer to read out data requested by the application program from the data storage system upon receiving a request for processing with respect to a desired data stored in the data storage system from the application program; a second computer readable program code for causing said computer to select those data operation modules that should carry out the operations with respect to the data such that the data will be in compliance with a data model suitable for the processing that the application program wishes to carry out, from a plurality of data operation modules for operating data which have different operation contents, that are provided in advance; and a third computer readable program code for causing said computer to apply the operations to the data by selected data operation modules and giving the data to which the operations are applied by the selected data operation modules to the application program.